#ifndef _MY_INSERT_BACK_ITERATOR_H_
#define _MY_INSERT_BACK_ITERATOR_H_

#include <iterator>

using namespace std;

template<typename Container>
class my_back_insert_iterator : public iterator<output_iterator_tag, void, void, void, void> {
	public:
		explicit my_back_insert_iterator(Container& container);
		my_back_insert_iterator<Container>& operator = (const typename Container::value_type& value);
		my_back_insert_iterator<Container>& operator * ();
		my_back_insert_iterator<Container>& operator ++ ();
		my_back_insert_iterator<Container>& operator ++ (int);
		virtual ~my_back_insert_iterator();
	protected:
		Container* c;
};

#include "my_back_insert_iterator_impl.h"

#endif

